package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.dto.DishDto;
import com.itheima.reggie.dto.SetmealDto;
import com.itheima.reggie.entity.Setmeal;

import java.util.List;

public interface SetmealService extends IService<Setmeal> {
    /**
     * 添加套餐，同时保证套餐与菜品的关联
     * @param setmealDto
     */
    public void saveWithDish(SetmealDto setmealDto);

    /**
     * 删除套餐，同时删除套餐与菜品的关联
     * @param ids
     */
    public void deleteWithDish(List<Long> ids);

    /**
     * 根据Id查询套餐信息
     * @param id
     * @return SetmealDto
     */
    SetmealDto getByIdWithDish(Long id);

    /**
     * 修改套餐，同时修改套餐与菜品的关联
     * @param setmealDto
     */
    void updateWithDish(SetmealDto setmealDto);

    /**
     * 套餐起售停售
     * @param status
     * @param ids
     */
    void changeStatus(Integer status, List<Long> ids);

    /**
     * 根据sql分页查询
     * @Author: Pan Rundong
     * @Date: 2023-02-02 14:14
     * @Greet2u:  （O｀ 3′O）~~♡
     * @param page
     * @param pageSize
     * @param name
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.itheima.reggie.dto.DishDto>
     */
    Page<SetmealDto> pageBySql(int page, int pageSize, String name);
}
